type runtime.mspan
132 uses
runtime (current package)
arena.go#L239: fullList *mspan
arena.go#L242: active *mspan
arena.go#L382: func (a *userArena) refill() *mspan {
arena.go#L425: *mspan // Must represent a user arena chunk.
arena.go#L449: func (s *mspan) userArenaNextFree(typ *_type, cap int) unsafe.Pointer {
arena.go#L539: func userArenaHeapBitsSetSliceType(typ *_type, n int, ptr unsafe.Pointer, s *mspan) {
arena.go#L553: func userArenaHeapBitsSetType(typ *_type, ptr unsafe.Pointer, s *mspan) {
arena.go#L600: func (s *mspan) writeUserArenaHeapBits(addr uintptr) (h writeUserArenaHeapBits) {
arena.go#L620: func (h writeUserArenaHeapBits) write(s *mspan, bits, valid uintptr) writeUserArenaHeapBits {
arena.go#L651: func (h writeUserArenaHeapBits) pad(s *mspan, size uintptr) writeUserArenaHeapBits {
arena.go#L665: func (h writeUserArenaHeapBits) flush(s *mspan, addr, size uintptr) {
arena.go#L737: func newUserArenaChunk() (unsafe.Pointer, *mspan) {
arena.go#L761: var span *mspan
arena.go#L844: func (s *mspan) isUnusedUserArenaChunk() bool {
arena.go#L853: func (s *mspan) setUserArenaChunkToFault() {
arena.go#L934: func freeUserArenaChunk(s *mspan, x unsafe.Pointer) {
arena.go#L995: func (h *mheap) allocUserArenaChunk() *mspan {
arena.go#L996: var s *mspan
malloc.go#L931: func nextFreeFast(s *mspan) gclinkptr {
malloc.go#L958: func (c *mcache) nextFree(spc spanClass) (v gclinkptr, s *mspan, checkGCTrigger bool) {
mbitmap.go#L118: func (span *mspan) typePointersOf(addr, size uintptr) typePointers {
mbitmap.go#L135: func (span *mspan) typePointersOfUnchecked(addr uintptr) typePointers {
mbitmap.go#L179: func (span *mspan) typePointersOfType(typ *abi.Type, addr uintptr) typePointers {
mbitmap.go#L342: func (span *mspan) objBase(addr uintptr) uintptr {
mbitmap.go#L508: func (s *mspan) initHeapBits() {
mbitmap.go#L537: func (span *mspan) heapBits() []uintptr {
mbitmap.go#L585: func (span *mspan) heapBitsSmallForAddr(addr uintptr) uintptr {
mbitmap.go#L624: func (span *mspan) writeHeapBitsSmall(x, dataSize uintptr, typ *_type) (scanSize uintptr) {
mbitmap.go#L705: func heapSetTypeNoHeader(x, dataSize uintptr, typ *_type, span *mspan) uintptr {
mbitmap.go#L716: func heapSetTypeSmallHeader(x, dataSize uintptr, typ *_type, header **_type, span *mspan) uintptr {
mbitmap.go#L724: func heapSetTypeLarge(x, dataSize uintptr, typ *_type, span *mspan) uintptr {
mbitmap.go#L782: func doubleCheckHeapType(x, dataSize uintptr, gctyp *_type, header **_type, span *mspan) {
mbitmap.go#L811: func doubleCheckHeapPointers(x, dataSize uintptr, typ *_type, header **_type, span *mspan) {
mbitmap.go#L868: func doubleCheckHeapPointersInterior(x, interior, size, dataSize uintptr, typ *_type, header **_type, span *mspan) {
mbitmap.go#L946: func doubleCheckTypePointersOfType(s *mspan, typ *_type, addr, size uintptr) {
mbitmap.go#L1066: func (s *mspan) allocBitsForIndex(allocBitIndex uintptr) markBits {
mbitmap.go#L1075: func (s *mspan) refillAllocCache(whichByte uint16) {
mbitmap.go#L1093: func (s *mspan) nextFreeIndex() uint16 {
mbitmap.go#L1152: func (s *mspan) isFree(index uintptr) bool {
mbitmap.go#L1173: func (s *mspan) isFreeOrNewlyAllocated(index uintptr) bool {
mbitmap.go#L1189: func (s *mspan) divideByElemSize(n uintptr) uintptr {
mbitmap.go#L1205: func (s *mspan) objIndex(p uintptr) uintptr {
mbitmap.go#L1266: func badPointer(s *mspan, p, refBase, refOff uintptr) {
mbitmap.go#L1319: func findObject(p, refBase, refOff uintptr) (base uintptr, s *mspan, objIndex uintptr) {
mbitmap.go#L1453: func (s *mspan) countAlloc() int {
mcache.go#L47: alloc [numSpanClasses]*mspan // spans to allocate from, indexed by spanClass
mcache.go#L85: var emptymspan mspan
mcache.go#L221: func (c *mcache) allocLarge(size uintptr, noscan bool) *mspan {
mcentral.go#L82: func (c *mcentral) cacheSpan() *mspan {
mcentral.go#L109: var s *mspan
mcentral.go#L205: func (c *mcentral) uncacheSpan(s *mspan) {
mcentral.go#L251: func (c *mcentral) grow() *mspan {
mcheckmark.go#L167: forEachSpecial(func(p uintptr, s *mspan, sp *special) bool {
mcheckmark.go#L298: func forEachSpecial(yield func(p uintptr, s *mspan, sp *special) bool) {
mgcmark.go#L414: func gcScanFinalizer(spf *specialfinalizer, s *mspan, gcw *gcWork) {
mgcmark.go#L1660: func greyobject(obj, base, off uintptr, span *mspan, gcw *gcWork, objIndex uintptr) {
mgcmark.go#L1769: func gcmarknewobject(span *mspan, obj uintptr) {
mgcmark_nogreenteagc.go#L11: func (s *mspan) markBitsForIndex(objIndex uintptr) markBits {
mgcmark_nogreenteagc.go#L16: func (s *mspan) markBitsForBase() markBits {
mgcmark_nogreenteagc.go#L24: func (s *mspan) initInlineMarkBits() {
mgcmark_nogreenteagc.go#L27: func (s *mspan) moveInlineMarks(to *gcBits) {
mgcmark_nogreenteagc.go#L35: func (s *mspan) inlineMarkBits() *spanInlineMarkBits {
mgcmark_nogreenteagc.go#L39: func (s *mspan) scannedBitsForIndex(objIndex uintptr) markBits {
mgcsweep.go#L96: func (h *mheap) nextSpanForSweep() *mspan {
mgcsweep.go#L101: var s *mspan
mgcsweep.go#L336: *mspan
mgcsweep.go#L341: func (l *sweepLocker) tryAcquire(s *mspan) (sweepLocked, bool) {
mgcsweep.go#L464: func (s *mspan) ensureSwept() {
mgcsweep.go#L858: func (s *mspan) reportZombies() {
mgcwork.go#L424: var s *mspan
mheap.go#L86: allspans []*mspan // all spans out there
mheap.go#L280: spans [pagesPerArena]*mspan
mheap.go#L420: type mspan struct {
mheap.go#L422: next *mspan // next span in list, or nil if none
mheap.go#L423: prev *mspan // previous span in list, or nil if none
mheap.go#L522: func (s *mspan) base() uintptr {
mheap.go#L526: func (s *mspan) layout() (size, n, total uintptr) {
mheap.go#L550: s := (*mspan)(p)
mheap.go#L559: var new []*mspan
mheap.go#L700: func spanOf(p uintptr) *mspan {
mheap.go#L735: func spanOfUnchecked(p uintptr) *mspan {
mheap.go#L746: func spanOfHeap(p uintptr) *mspan {
mheap.go#L795: h.spanalloc.init(unsafe.Sizeof(mspan{}), recordspan, unsafe.Pointer(h), &memstats.mspan_sys)
mheap.go#L1006: func (h *mheap) alloc(npages uintptr, spanclass spanClass) *mspan {
mheap.go#L1010: var s *mspan
mheap.go#L1039: func (h *mheap) allocManual(npages uintptr, typ spanAllocType) *mspan {
mheap.go#L1048: func (h *mheap) setSpans(base, npage uintptr, s *mspan) {
mheap.go#L1137: func (h *mheap) tryAllocMSpan() *mspan {
mheap.go#L1160: func (h *mheap) allocMSpanLocked() *mspan {
mheap.go#L1166: return (*mspan)(h.spanalloc.alloc())
mheap.go#L1172: pp.mspancache.buf[i] = (*mspan)(h.spanalloc.alloc())
mheap.go#L1192: func (h *mheap) freeMSpanLocked(s *mspan) {
mheap.go#L1224: func (h *mheap) allocSpan(npages uintptr, typ spanAllocType, spanclass spanClass) (s *mspan) {
mheap.go#L1439: func (h *mheap) initSpan(s *mspan, typ spanAllocType, spanclass spanClass, base, npages uintptr) {
mheap.go#L1632: func (h *mheap) freeSpan(s *mspan) {
mheap.go#L1676: func (h *mheap) freeManual(s *mspan, typ spanAllocType) {
mheap.go#L1696: func (h *mheap) freeSpanLocked(s *mspan, typ spanAllocType) {
mheap.go#L1785: func (span *mspan) init(base uintptr, npages uintptr) {
mheap.go#L1808: func (span *mspan) inList() bool {
mheap.go#L1815: first *mspan // first span in list, or nil if none
mheap.go#L1816: last *mspan // last span in list, or nil if none
mheap.go#L1825: func (list *mSpanList) remove(span *mspan) {
mheap.go#L1850: func (list *mSpanList) insert(span *mspan) {
mheap.go#L1868: func (list *mSpanList) insertBack(span *mspan) {
mheap.go#L1914: head, tail *mspan
mheap.go#L1919: func (q *mSpanQueue) push(s *mspan) {
mheap.go#L1933: func (q *mSpanQueue) pop() *mspan {
mheap.go#L2025: func spanHasSpecials(s *mspan) {
mheap.go#L2033: func spanHasNoSpecials(s *mspan) {
mheap.go#L2118: func (span *mspan) specialFindSplicePoint(offset uintptr, kind byte) (**special, bool) {
mheap.go#L2780: func newSpecialsIter(span *mspan) specialsIter {
mspanset.go#L83: func (b *spanSet) push(s *mspan) {
mspanset.go#L150: func (b *spanSet) pop() *mspan {
mspanset.go#L406: func (p *atomicMSpanPointer) Load() *mspan {
mspanset.go#L407: return (*mspan)(p.p.Load())
mspanset.go#L411: func (p *atomicMSpanPointer) StoreNoWB(s *mspan) {
os_nonopenbsd.go#L11: func osStackAlloc(s *mspan) {
os_nonopenbsd.go#L16: func osStackFree(s *mspan) {
pinner.go#L270: func (s *mspan) pinnerBitSize() uintptr {
pinner.go#L277: func (s *mspan) newPinnerBits() *pinnerBits {
pinner.go#L284: func (s *mspan) getPinnerBits() *pinnerBits {
pinner.go#L288: func (s *mspan) setPinnerBits(p *pinnerBits) {
pinner.go#L295: func (s *mspan) refreshPinnerBits() {
pinner.go#L326: func (span *mspan) incPinCounter(offset uintptr) {
pinner.go#L347: func (span *mspan) decPinCounter(offset uintptr) bool {
runtime2.go#L693: buf [128]*mspan
stack.go#L406: var s *mspan
traceallocfree.go#L85: func traceSpanTypeAndClass(s *mspan) traceArg {
traceallocfree.go#L93: func (tl traceLocker) SpanExists(s *mspan) {
traceallocfree.go#L98: func (tl traceLocker) SpanAlloc(s *mspan) {
traceallocfree.go#L103: func (tl traceLocker) SpanFree(s *mspan) {
traceallocfree.go#L108: func traceSpanID(s *mspan) traceArg {